#ifndef UTILS_UNUSED_HPP
#define UTILS_UNUSED_HPP

/**
 * \file
 * \ingroup utility
 * CAS_UNUSED and CAS_UNUSED_GLOBAL macro definitions.
 */

/**
 * \def CAS_UNUSED()
 * Mark a local variable as unused.
 */
#ifndef CAS_UNUSED
#define CAS_UNUSED(x) ((void)(x))
#endif

/**
 * \def CAS_UNUSED_GLOBAL()
 * Mark a variable at file scope as unused.
 */
#ifndef CAS_UNUSED_GLOBAL
#if defined(__GNUC__)
#define CAS_UNUSED_GLOBAL(x) x __attribute__((unused))
#elif defined(__LCLINT__)
#define CAS_UNUSED_GLOBAL(x) /*@unused@*/ x
#else
#define CAS_UNUSED_GLOBAL(x) x
#endif
#endif

#endif /* UTILS_UNUSED_HPP */